Developer Documentation

QuickTime 4 API Documentation

QuickTime 4 Reference

| Previous | Chapter Contents | Chapter Top | Next |

Using a kTweenTypePathXtoY Tween Component

To use kTweenTypePathXtoY tween components, either absolute or delta, do the following:

  1. Create a QT atom container.
  2. Insert a kTweenEntry atom into the QT atom container for the tween.
  3. Insert a kTweenType atom that specifies the tween type into the kTweenEntry atom.
  4. Insert a kTweenData atom into the kTweenEntry atom.
  5. Perform the tweening operation, using QTDoTween .

Listing 17 shows how to create both kinds of kTweenTypePathXtoY tweens.

Listing 17 Creating kTweenTypePathXtoY tweens container

// kTweenTypePathXtoY - normal
err = CreateSamplePathTweenContainer( container, kTweenTypePathXtoY, 3,
                                        false, duration, 0, &tweenAtom );
if ( err ) goto bail;

err = QTNewTween( &tween, container, tweenAtom, duration );
if ( err ) goto bail;

for ( tweenTime = 0; tweenTime <= duration; tweenTime++ ) {
    Fixed absoluteYvalue;
    
    err = QTDoTween( tween, tweenTime, result, nil, nil, nil );
    if ( err ) goto bail;
    
    absoluteYvalue = *(Fixed *)*result;
}
    
err = QTDisposeTween( tween );
// kTweenTypePathXtoY - delta
err = CreateSamplePathTweenContainer( container, kTweenTypePathXtoY, 3,
                                        true, duration, 0, &tweenAtom );
if ( err ) goto bail;

err = QTNewTween( &tween, container, tweenAtom, duration );
if ( err ) goto bail;

for ( tweenTime = 0; tweenTime <= duration; tweenTime++ ) {
    Fixed deltaYalue;
    
    err = QTDoTween( tween, tweenTime, result, nil, nil, nil );
    if ( err ) goto bail;
    
    deltaYalue = *(Fixed *)*result;
}
    
err = QTDisposeTween( tween );

bail:
    if ( container ) QTDisposeAtomContainer( container );
    if ( result ) DisposeHandle( result );

© 1999 Apple Computer, Inc.

| Previous | Chapter Contents | Chapter Top | Next |